package com.aos.erp.manager.model.dsc.vo;

import com.aos.erp.common.utils.DateUtils;
import com.aos.erp.manager.model.dsc.DscFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("通知公告参数")
public class DsContractVo implements Serializable {

    @ApiModelProperty(hidden = true, value = "合同ID")
    private long id;

    @ApiModelProperty(hidden = true, value = "合同编号: HT+年月日时分秒+3位数字序号")
    private String dscCode;


    @ApiModelProperty(hidden = true, value = "合同名称：100字符内")
    private String dscName;


    @ApiModelProperty(hidden = true, value = "合同驾校ID")
    private long dscDsId;

    @ApiModelProperty(hidden = true, value = "合同驾校编号")
    private String dscDsCode;

    @ApiModelProperty(hidden = true, value = "合同驾校名称")
    private String dscDsName;


    @ApiModelProperty(hidden = true, value = "客户名称：100字符内")
    private String dscCustomerName;


    @ApiModelProperty(hidden = true, value = "联系人：100字符内")
    private String dscContactsName;


    @ApiModelProperty(hidden = true, value = "联系电话")
    private String dscContactsPhone;


    @ApiModelProperty(hidden = true, value = "签订人：100字符内")
    private String dscSignName;


    @ApiModelProperty(hidden = true, value = "签订时间")
    private Date dscSignTime;

    @ApiModelProperty(value = "签订时间——格式化显示",hidden=true)
    private String dscSignTimeFormat;

    @ApiModelProperty(hidden = true, value = "合同开始时间")
    private Date dscBeginTime;

    @ApiModelProperty(value = "合同开始时间——格式化显示",hidden=true)
    private String dscBeginTimeFormat;

    @ApiModelProperty(hidden = true, value = "合同截止时间")
    private Date dscEndTime;

    @ApiModelProperty(value = "合同截止时间——格式化显示",hidden=true)
    private String dscEndTimeFormat;

    @ApiModelProperty(hidden = true, value = "操作人")
    private String optUser;

    @ApiModelProperty(value = "驾校合同文件[{dscFileId:'1111',dscFileType:'picture'}]", hidden = true)
    private List<DscFile> dscFileList = new ArrayList<>();    // 下发组织列表

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getDscCode() {
        return dscCode;
    }

    public void setDscCode(String dscCode) {
        this.dscCode = dscCode;
    }

    public String getDscName() {
        return dscName;
    }

    public void setDscName(String dscName) {
        this.dscName = dscName;
    }

    public long getDscDsId() {
        return dscDsId;
    }

    public void setDscDsId(long dscDsId) {
        this.dscDsId = dscDsId;
    }

    public String getDscDsCode() {
        return dscDsCode;
    }

    public void setDscDsCode(String dscDsCode) {
        this.dscDsCode = dscDsCode;
    }

    public String getDscDsName() {
        return dscDsName;
    }

    public void setDscDsName(String dscDsName) {
        this.dscDsName = dscDsName;
    }

    public String getDscCustomerName() {
        return dscCustomerName;
    }

    public void setDscCustomerName(String dscCustomerName) {
        this.dscCustomerName = dscCustomerName;
    }

    public String getDscContactsName() {
        return dscContactsName;
    }

    public void setDscContactsName(String dscContactsName) {
        this.dscContactsName = dscContactsName;
    }

    public String getDscContactsPhone() {
        return dscContactsPhone;
    }

    public void setDscContactsPhone(String dscContactsPhone) {
        this.dscContactsPhone = dscContactsPhone;
    }

    public String getDscSignName() {
        return dscSignName;
    }

    public void setDscSignName(String dscSignName) {
        this.dscSignName = dscSignName;
    }

    public Date getDscSignTime() {
        return dscSignTime;
    }

    public void setDscSignTime(Date dscSignTime) {
        this.dscSignTime = dscSignTime;
    }

    public Date getDscBeginTime() {
        return dscBeginTime;
    }

    public void setDscBeginTime(Date dscBeginTime) {
        this.dscBeginTime = dscBeginTime;
    }

    public Date getDscEndTime() {
        return dscEndTime;
    }

    public void setDscEndTime(Date dscEndTime) {
        this.dscEndTime = dscEndTime;
    }

    public String getOptUser() {
        return optUser;
    }

    public void setOptUser(String optUser) {
        this.optUser = optUser;
    }

    public List<DscFile> getDscFileList() {
        return dscFileList;
    }

    public void setDscFileList(List<DscFile> dscFileList) {
        this.dscFileList = dscFileList;
    }

    public String getDscSignTimeFormat() {
        return DateUtils.getTimeString(dscSignTime);
    }

    public String getDscBeginTimeFormat() {
        return DateUtils.getTimeString(dscBeginTime);
    }

    public String getDscEndTimeFormat() {
        return DateUtils.getTimeString(dscEndTime);
    }
}
